import Image, ImageDraw, ContSolv

def funcgraf(funcao, xmax, ymax, xmin, ymin):
    listapontos = []
    img = Image.new("RGBA", (300, 350), (0,0,0))
    img.putalpha(0)
    desenho = ImageDraw.Draw(img)
    for px in range(-125, 125):
        valorx = px*(xmax-xmin)/250.0
        valory = ContSolv.contsolv(funcao.replace("x",str(valorx)))
        py = -((250*valory)/(ymax - ymin))+150
        if py > 25 and py < 275:
            desenho.point((px+150, py), fill="#000000")
            listapontos.append((px+150, py))
    for ponto in listapontos:
        if listapontos.index(ponto) == 0:
            antponto = ponto
        else:
            desenho.line((antponto, ponto), fill="#000000")
            antponto = ponto
    return img

funcgraf("2*x^2", 10, 10, -10, -10).save("output.png", "PNG")
